MA
criatura

Entrando no otserv

Por matheusata55, 05 de jun. de 2016 em Scripting

18
350
05 de junho de 2016 às 23:08

como faço pra toda vez que qualquer player entrar no ot aparecer essa mensagem que está na imagem.

 

 

serv informa.png

5754db0b94d50_servinforma.png.ae6646c4efb6c9a84099bf4923049391.png

Yan LiimaY
05 de junho de 2016 às 23:46

Em creaturescript/script crie um arquivo chamado loginmensagem.lua e cole isto dentro:

function onLogin(cid)if isPlayer(cid) thendoPlayerSendTextMessage(cid, 5, "[server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!")endreturn trueend

 

em creaturescript.xml adicione:

<event type="login" name="LoginMensagem" event="script" value="loginmensagem.lua"/>

 

Editado Junho 6 por nedroesdoksdja

06 de junho de 2016 às 01:08

desculpa, mas fiz certinho aqui e nada apareceu

Yan LiimaY
06 de junho de 2016 às 01:16
26 minutos atrás, matheusata55 disse:

desculpa, mas fiz certinho aqui e nada apareceu

 

LoL da algum erro na distro?

 

@EDIT

Testei aqui e funcionou normal ;-;

Editado Junho 6 por nedroesdoksdja

06 de junho de 2016 às 13:20
8 horas atrás, Yan Liima disse:

 

LoL da algum erro na distro?

 

@EDIT

Testei aqui e funcionou normal ;-;

estranho eu fiz certinho e nada, muito menos erro na distro :/

Yan LiimaY
06 de junho de 2016 às 13:23
4 minutos atrás, matheusata55 disse:

estranho eu fiz certinho e nada, muito menos erro na distro :/

 

O ID da cor não deve ter no seu servidor... Mude o número 5 por isso: MESSAGE_INFO_DESCR

Ficando assim:

function onLogin(cid)if isPlayer(cid) thendoPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!")endreturn trueend

Você pode ver o NOME e os IDs das cores no tutorial do Danihcv

Ou olhando na sua pasta lib/000-constant.lua

Editado Junho 6 por nedroesdoksdja

06 de junho de 2016 às 13:35
Agora, Yan Liima disse:

 

O ID da cor não deve ter no seu servidor... Mude o número 5 por isso: MESSAGE_INFO_DESCR

Ficando assim:

function onLogin(cid)if isPlayer(cid) thendoPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!")endreturn trueend

Você pode ver o NOME e os IDs das cores no tutorial do Danihcv

Ou olhando na sua pasta lib/000-constant.lua

 

 

 

Agora até que foi, mas queria deixar identico ao da imagem, a cor a autura, ele ta aparecendo em cima do char quero igual da imagem la, obrigado =):

 

estranho.png

estranho.png.1c7fe87d2d47edc8633b91e8319cb1df.png

HdkH
10 de junho de 2016 às 03:19
Em 05/06/2016 at 23:46, Yan Liima disse:

Em creaturescript/script crie um arquivo chamado loginmensagem.lua e cole isto dentro:

function onLogin(cid)if isPlayer(cid) thendoPlayerSendTextMessage(cid, 5, "[server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!")endreturn trueend

 

em creaturescript.xml adicione:

<event type="login" name="LoginMensagem" event="script" value="loginmensagem.lua"/>

 

Para mim funcionou em partes, a mensagem apareceu em azul porem somente no default. Como faz para aparecer na tela igual na imagem abaixo?

 

serv informa.png

Editado Junho 10 por Hdk

Yan LiimaY
10 de junho de 2016 às 20:19
16 horas atrás, Hdk disse:

Para mim funcionou em partes, a mensagem apareceu em azul porem somente no default. Como faz para aparecer na tela igual na imagem abaixo?

 

serv informa.png

 

Infelizmente para mostrar a cor azul na tela eu não sei ;/: acho que não teria isto nas versões anteriores do Tibia, mais nas atuais de hoje em dia deve ter sim.

da uma procura em lib\000-constant.lua

Night WolfN
11 de junho de 2016 às 02:05

@Yan Liima em vez de usar a função doPlayerSendText, usa a doCreatureSay(uid, text, type[, ghost = false[, cid = 0[, pos]]]), aí no type vc põe TALKTYPE_PRIVATE_NP = 5

Yan LiimaY
11 de junho de 2016 às 10:54

Nuus nem pensei nisso kkk como sempre Andy é um Gênio nos scripts. Mais usando TALKTYPE_PRIVATE_NP iria abrir o channel NPC, não? acho que o mais ideal seria o  TALKTYPE_PRIVATE

 

Com base o que o Wolf disse ficaria assim:

function onLogin(cid)
if isPlayer(cid) then
doCreatureSay(cid, "[Server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!", TALKTYPE_PRIVATE_NP, true) -- 5
end
return true
end

@matheusata55 @Hdk TESTE OS DOIS E ME DIZ A DIFERENÇA:

function onLogin(cid)
if isPlayer(cid) then
doCreatureSay(cid, "[Server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!", TALKTYPE_PRIVATE, true) -- 6
end
return true
end

Acho que o segundo ficaria da forma que vocês estava querendo.

Editado Junho 12 por nedroesdoksdja

HdkH
13 de junho de 2016 às 01:47
Em 11/06/2016 at 10:54, Yan Liima disse:

Nuus nem pensei nisso kkk como sempre Andy é um Gênio nos scripts. Mais usando TALKTYPE_PRIVATE_NP iria abrir o channel NPC, não? acho que o mais ideal seria o  TALKTYPE_PRIVATE

 

Com base o que o Wolf disse ficaria assim:

function onLogin(cid)
if isPlayer(cid) then
doCreatureSay(cid, "[Server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!", TALKTYPE_PRIVATE_NP, true) -- 5
end
return true
end

@matheusata55 @Hdk TESTE OS DOIS E ME DIZ A DIFERENÇA:

function onLogin(cid)
if isPlayer(cid) then
doCreatureSay(cid, "[Server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!", TALKTYPE_PRIVATE, true) -- 6
end
return true
end

Acho que o segundo ficaria da forma que vocês estava querendo.

A diferença do 1 para o 2 é que a 1 é como se eu estivesse enviando uma mensagem azul no default e a 2 é como se eu estivesse recebendo (do jeito que eu queria). Eu testei as duas e quando um jogador entra no servidor e tem outro por perto, o jogador que acabou de entrar envia mensagem privada pra essa pessoa com a mensagem "faça doaçao acima de... Tem como fazer com que não envie?

 

Grato por me ajudar nisso!

Night WolfN
13 de junho de 2016 às 08:33

doCreatureSay(cid, "[server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!", TALKTYPE_PRIVATE, true) -- 6

isso ja era pra funcionar pq vc tá setando o ghost como true.. mas experimenta colocar , cid ali no final:

doCreatureSay(cid, "[server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!", TALKTYPE_PRIVATE, true, cid)

se não der troca o true ali pra false. 

Yan LiimaY
13 de junho de 2016 às 13:55
12 horas atrás, Hdk disse:

A diferença do 1 para o 2 é que a 1 é como se eu estivesse enviando uma mensagem azul no default e a 2 é como se eu estivesse recebendo (do jeito que eu queria). Eu testei as duas e quando um jogador entra no servidor e tem outro por perto, o jogador que acabou de entrar envia mensagem privada pra essa pessoa com a mensagem "faça doaçao acima de... Tem como fazer com que não envie?

 

Grato por me ajudar nisso!

 

Estranho... Experimente fazer o que o Wolf disse.

Editado Junho 13 por nedroesdoksdja

HdkH
13 de junho de 2016 às 15:39
7 horas atrás, Night Wolf disse:

doCreatureSay(cid, "[server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!", TALKTYPE_PRIVATE, true) -- 6

 

isso ja era pra funcionar pq vc tá setando o ghost como true.. mas experimenta colocar , cid ali no final:

 

doCreatureSay(cid, "[server Informa]:\n(PONTOS EM DOBRO) Faça uma doação acima de R$10,00 e receba DOUBLE POINTS!", TALKTYPE_PRIVATE, true, cid)

 

se não der troca o true ali pra false. 

 

1 hora atrás, Yan Liima disse:

 

Estranho... Experimente fazer o que o Wolf disse.

Funcionou !! muito obrigado aos dois!

 

REP+++++++